perm filename CMPDES.TEX[PEG,DBL]3 blob sn#474782 filedate 1979-09-16 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	% Meta-character definition, math macros.
C00008 00003	% Font definitions.
C00013 00004	% Major section formats.
C00019 00005	% Other formatting macros.
C00024 00006	% Useful macros.
C00027 00007	% Page format, initialization.
C00030 ENDMK
C⊗;
% Meta-character definition, math macros.

\chcode'173←1 \chcode'176←2 \chcode'44←3 \chcode'26←4	% defines meta-
\chcode'45←5 \chcode'43←6 \chcode'136←7 \chcode 1←8	% characaters

\def\lft#1{#1\hfill}		% various useful leftifying, rightifying,
\def\ctr#1{\hfill#1\hfill}	% etc. macros
\def\rt#1{\hfill#1}
\def\top#1{#1\vfill}
\def\mid#1{\vfill#1\vfill}
\def\bot#1{\vfill#1}

\def\rjustline#1{\hbox to size{\hskip0pt plus1000cm minus1000cm #1}}
\def\ljustline#1{\hbox to size{#1\hskip0pt plus1000cm minus1000cm}}
\def\ctrline#1{\hbox to size{\hskip0pt plus1000cm minus1000cm #1\hskip0pt
	plus1000cm minus1000cm}}

\def\null{\hbox{}}		% inserts one blank line (in vertical mode)

\def\trace{\chpar0←} \def\jpar{\chpar1←} \def\ragged{\chpar8←}

% The following are taken directly from {SU-AI}ACPHDR.TEX[TEX,DEK]; details
%  on their use can be found in the TEX manual (S.U. C.S.D. Report
%  No. STAN-CS-78-675; SAIL Memo AIM-317);

\def\log{\mathop{\char'154\char'157\char'147}\limitswitch}
\def\lg{\mathop{\char'154\char'147}\limitswitch}
\def\ln{\mathop{\char'154\char'156}\limitswitch}
\def\lim{\mathop{\char'154\char'151\char'155}}
\def\limsup{\mathop{\char'154\char'151\char'155\,\char'163\char'165\char'160}}
\def\liminf{\mathop{\char'154\char'151\char'155\,\char'151\char'156\char'146}}
\def\sin{\mathop{\char'163\char'151\char'156}\limitswitch}
\def\cos{\mathop{\char'143\char'157\char'163}\limitswitch}
\def\tan{\mathop{\char'164\char'141\char'156}\limitswitch}
\def\cot{\mathop{\char'143\char'157\char'164}\limitswitch}
\def\sec{\mathop{\char'163\char'145\char'143}\limitswitch}
\def\csc{\mathop{\char'143\char'163\char'143}\limitswitch}
\def\max{\mathop{\char'155\char'141\char'170}}
\def\min{\mathop{\char'155\char'151\char'156}}
\def\sup{\mathop{\char'163\char'165\char'160}}
\def\inf{\mathop{\char'151\char'156\char'146}}
\def\det{\mathop{\char'144\char'145\char'164}}
\def\exp{\mathop{\char'145\char'170\char'160}\limitswitch}
\def\Pr{\mathop{\char'120\char'162}}
\def\gcd{\mathop{\char'147\char'143\char'144}}
\def\lcm{\mathop{\char'154\char'143\char'155}}

\def\ldots{{.\≥.\≥.}}
\def\cdots{{\char'401\≥\char'401\≥\char'401}}
\def\ldotss{{.\≥.\≥.\≥}}
\def\cdotss{\cdots\≥}
\def\ldotsm{{\≥.\≥.\≥.\≥}}
\def\vdots{\vbox{\baselineskip 4pt\vskip 6pt\hbox{.}\hbox{.}\hbox{.}}}

\def\leftset{\mathopen{\{\,}}
\def\rightset{\mathclose{\,\}}}

\def\neqv{\mathrel{\not≡}}

\def\%{\char'45 }			% use "\%" to ge a % sign, not just "%"!
\def\deg{↑{\hbox{\hskip-1pt\:w\char5}}}	% use in math mode

\def\choose{\comb()}

\def\mod{\<\,\mathbin{\char'155\char'157\char'144}\penalty900\<\,}
\def\modulo#1{\penalty0\;(\char'155\char'157\char'144\char'165\char'154\char'157
	\,\,#1)}

\def\cpile#1{\vcenter{\halign{\hfill$## $\hfill\cr#1}}}
\def\lpile#1{\vcenter{\halign{$## $\hfill\cr#1}}}
\def\rpile#1{\vcenter{\halign{\hfill$## $\cr#1}}}
\def\eqalign#1{\vcenter{\halign{\hfill$\dispstyle{##}$⊗$\dispstyle{\null##}$\hfill
\cr#1}}}
\def\eqalignno#1{\vbox{\tabskip 0pt plus 1000pt minus 1000pt
   \halign to size{\hfill$\dispstyle{##}$\tabskip 0pt
   ⊗$\dispstyle{\null##}$\hfill\tabskip 0 pt plus 1000pt minus 1000pt
   ⊗\hfill$ ##$\tabskip 0pt\cr#1}}}
\def\twoline#1#2#3{\halign{\hbox to size{##}\cr\quad$\dispstyle{#1}$\hfill\cr
\noalign{\penalty 1000\vskip#2}\hfill$\dispstyle{#3}$\quad\cr}}

\def\chop to#1pt#2{\hbox{\lower#1pt
\null\vbox{\hbox{\lower100pt\hbox{\raise100pt
\hbox{$\dispstyle{#2}$}}}\vskip-100pt}}} % pretends that #2 is #1pt deep
\def\spose#1{\hbox to 0pt{#1 \hskip 0pt minus 10000000pt}}
% Font definitions.

% "Standard" TEX cmr fonts:

\:@←cmathx	\:a←cmr10	\:b←cmr9	\:c←cmr8
\:d←cmr7  	\:e←cmr6 	\:f←cmr5	\:g←cmi10
\:h←cmi9  	\:i←cmi8 	\:j←cmi7	\:k←cmi6
\:l←cmi5  	\:m←cmsc10	\:n←cms10	\:o←cms9
\:p←cms8 	\:q←cmb10	\:r←cmb9	\:s←cmb8
\:t←cmtt  	\:u←cmsy10	\:v←cmsy9	\:w←cmsy8
\:x←cmsy7 	\:y←cmsy6	\:z←cmsy5	\:;←cmtitl
\:<←cmssb 	\:=←cmss12	\:>←cmss8	\:?←cmsss8

% Other fonts:

\:A←cmr28[peg,dbl]	\:B←cmr22[peg,dbl]
\:C←cmss18[peg,dbl]

% Needed: 
%    9pt bold sans-serif (use cmssb?)
%   10pt bold italic


% these sizes give output suitable for photo-reduction (77%):
\def\curhsize{29pc }
\def\curvsize{45pc }
\def\curtotvsize{47pc }
\hsize \curhsize \vsize \curvsize
\maxdepth 2pt \parindent 20pt \topbaseline 10pt
\parskip 0pt plus 1 pt \lineskip 1pt
\topskip 24pt plus 6pt minus 10pt  \botskip 2pt plus 2pt minus 1pt
\def\fnoteraise{4pt}

\def\tenpoint{\baselineskip 12pt \dispskip 12pt plus 3pt minus 9pt
	\dispaskip 0pt plus 3pt \dispbskip 7pt plus 3pt minus 4pt
	\def\rm{\:a} \def\sl{\:n} \def\bf{\:q} \def\it{\:g}
	\def\biglp{\mathopen{\vcenter{\hbox{\:@\char'0}}}}
	\def\bigrp{\mathclose{\vcenter{\hbox{\:@\char'1}}}}
	\def\9{\hskip 5pt} \def\fnoteraise{4pt}
	\mathrm adf \mathit gjl \mathsy uxz \rm}

\def\ninepoint{\baselineskip 11pt \dispskip 11pt plus 3pt minus 8pt
	\dispaskip 0pt plus 3pt \dispbskip 6pt plus 3pt minus 3pt
	\def\rm{\:b} \def\sl{\:o} \def\bf{\:r} \def\it{\:h}
	\def\biglp{\mathopen{\hbox{\:a(}}}
	\def\bigrp{\mathclose{\hbox{\:a)}}}
	\def\9{\hskip 4.625pt} \def\fnoteraise{3pt}
	\mathrm bef \mathit hkl \mathsy vyz \rm}

\def\eightpoint{\baselineskip 9pt \dispskip 9pt plus 3pt minus 7pt
	\dispaskip 0pt plus 3pt \dispbskip 5pt plus 3pt minus 2pt
	\def\rm{\:c} \def\sl{\:p} \def\bf{\:s} \def\it{\:i}
	\def\biglp{\mathopen{\hbox{\:a(}}}
	\def\bigrp{\mathclose{\hbox{\:a)}}}
	\def\9{\hskip 4.25pt} \def\fnoteraise{2pt}
	\mathrm cef \mathit ikl \mathsy wyz \rm}

\mathex @  \def\tt{\:t}
\def\bigglp{\mathopen{\vcenter{\hbox{\:@\char'22}}}}
\def\biggrp{\mathclose{\vcenter{\hbox{\:@\char'23}}}}
\def\biggglp{\mathopen{\vcenter{\hbox{\:@\char'40}}}}
\def\bigggrp{\mathclose{\vcenter{\hbox{\:@\char'41}}}}

\def\qquad{\hskip 20pt}
\def\xskip{\hskip 7pt plus 3pt minus 4pt}
\def\yskip{\penalty-50\vskip 3pt plus 3pt minus 2pt}
\def\yyskip{\penalty-100\vskip 6pt plus 6pt minus 4pt}
\def\sectionskip{\penalty-200\vskip 18pt plus 3pt minus 2pt}
\def\subsectionskip{\penalty-200\vskip 10pt plus 2pt minus 1pt}
\def\dimsectionskip{\penalty-200\vskip 12pt plus 3pt minus 2pt}

% Major section formats.

\def\titlepage{\gdef\tpage{T}}			% \titlepage sets tpage to T
\def\runninglefthead#1{				% \runninglefthead sets lhead
	\gdef\lhead{#1}}
\def\runningrighthead#1{			% \runningrighthead sets rhead
	\gdef\rhead{#1}}

\def\partbegin#1{\titlepage			% to begin a part
	\setcount3 1				% count3 for footnotes
	\vskip -2.9pc \vskip 9pc \rjustline{{\:C #1}}\vskip -4pt \vskip 2.5pc}
	% Note: #1 will be "Part One", "Part Two", etc. (numbers spelled out)

\def\parttitle#1{\runninglefthead{#1}\baselineskip 32pt}
	% Note:
	% #1 is the part title; after this macro is called, the title will
	%  have to be hand-set in 28pt cmr, each line right-justified (using
	%  \rjustline) so that no line is longer than 23pc; then a \vskip of
	%  enough space to put the first line of epigraph or text 28pc from
	%  the top of the page (i.e., leaving 19pc of space for text)
	% Note: the first paragraph in the part should be set \noindent, and
	%  a \runningrighthead should be used to set rhead;
	%  #1 should be all CAPITALS.

\def\chapbegin#1{\titlepage			% to begin a chapter
	\gdef\chapnum{#1--} \setcount3 1	% count3 for footnotes
	\vskip -3pc \vskip 9pc \rjustline{{\:= Chapter #1}} \vskip -2pt \vskip 2pc}
	% Note: a call to this macro will look like
	%  "\chapterbegin{1}"; Arabic numerals used for ch. numbers

\def\chaptertitle#1{\runningrighthead{#1}\baselineskip 24pt}
	% Note:
	% #1 is the chapter title; after this macro is called, the title  will
	%  have to be hand-set in 22pt cmr, each line right-justified (using
	%  \rjustline) so that no line is longer than 23pc; then a \vskip of
	%  enough space to put the first line of epigraph or text 28pc from
	%  the top of the page (i.e., leaving 19pc of space for text).  If,
	%  below the epigraph, there is not enough space for at least 6 lines
	%  of text, adjust the space between the chapter title and the epigraph
	%  until there are 6 lines of actual text.
	% Note: the first paragraph in the chapter should be set \noindent;
	%  #1 should be all CAPITALS.

% Note: in all of the section-formatting macros below, DO NOT leave a blank line
%  after the xxxsectionbegin(mumble); this will result in an extra blank line
%  between the heading and the text.

\def\unnsectionbegin#1{\hbox{\uppercase{\:<#1}\hfill}
	\penalty 1000 \vskip 9pt \penalty 1000
	\runningrighthead{\uppercase{#1}}\tenpoint\noindent\!}
	% Note: most of the time, this must be preceded by \sectionskip

\def\sectionbegin[#1]#2{\hbox{\uppercase{\:<\chapnum #1\quad #2}\hfill}
	\penalty 1000 \vskip 9pt \penalty 1000
	\runningrighthead{\uppercase{#2}}\tenpoint\noindent\!}
	% Note: most of the time, this must be preceded by \sectionskip

\def\unnsubsectionbegin#1{\subsectionskip \penalty -200
    \hbox{{\:< #1\hfill}}
	\penalty 1000 \vskip 5pt plus 1pt \penalty 1000
	\tenpoint\noindent\!}
	% #1 should be both caps and lowercase (i.e., normal)

\def\subsectionbegin[#1]#2{\subsectionskip\penalty -200
    \hbox{{\:<\chapnum #1\quad #2\hfill}}
	\penalty 1000 \vskip 5pt plus 1pt \penalty 1000
	\tenpoint\noindent\!}
	% #2 should be both caps and lowercase

\def\dimsectionbegin#1{\dimsectionskip \tenpoint{\bf #1}\quad\!}
\def\minsectionbegin#1{\par\tenpoint{\bf #1}\quad\!}
	% Note: \minsectionbegin should use italic bold face

% Other formatting macros.


\def\epigraph#1{				% for text of quotations
	\ninepoint\noindent{\sl #1\par}
	\penalty1000\vskip 6pt\penalty1000}
\def\author#1{\ljustline{\rm #1}}		% for author of quotation
\def\source#1{\ljustline{\sl #1}}		% for source of quotation
\def\epigraphend{\vskip 18pt \tenpoint}		% ends the quotation

\def\bibentry [#1]#2{			% format for bibliography entries
	\hbox{{\lft{\bf #1.}}}
	\vskip -14pt plus 0pt minus 0pt \noindent \hangindent 38pt
	\hbox to 20pt{}#2\par \yyskip}

\def\ffootnote#1{			% for the first footnote on a page
   \penalty1000 \raise \fnoteraise\hbox{{\:e \count3}}\penalty -100
      \botinsert{
	\null \vskip 14pt plus 4pt \baselineskip 9pt 
	\hbox par size{\hskip 20pt\raise 2pt\hbox{\:e \count3}
	    {\eightpoint{\rm #1}}}
	}
   \advcount3}

\def\footnote#1{			% for subsequent footnotes on a page
   \penalty1000 \raise \fnoteraise\hbox{{\:e \count3}}\penalty -100
      \botinsert{
	\baselineskip 9pt 
	\hbox par size{\hskip 20pt\raise 2pt\hbox{\:e \count3}
	    {\eightpoint{\rm #1}}}
	}
   \advcount3}

\def\sourcenote#1{			% for a source note
      \botinsert{
	\null \vskip 14pt plus 4pt \baselineskip 9pt 
	\hbox par size{\hskip 20pt{\eightpoint{\rm #1}}}
	}}

\def\extractbegin#1{			% to begin an extract or long quote
	\vskip 14pt plus 4pt minus 2pt \ninepoint
	\hangindent 20pt after 0 \noindent #1\par}
	% Note: if there is more than one paragraph, #1 should be the first
	%  paragraph and each subsequent paragraph should be preceded by
	%  "\hangindent 20pt after 0" (but not by \noindent!!)

\def\extractend{			% to end an extract or long quote
	\vskip 14pt plus 4pt minus 2pt \tenpoint}
	

\def\listskip{				% space between text and lists or
   14pt plus 4pt minus 2pt}		%   nested lists

\def\listbegin{\vskip \listskip}	% to start an unindented list
\def\listend{\vskip \listskip		% to end an unindented list
	\baselineskip 12pt}

\def\indlistindent{20}			% indentation for lists (in points)
\def\indlistbegin{			% to start an indented list
   \vskip \listskip \advcount2 by \indlistindent}
\def\indlistend{			% to end an indented list
   \vskip \listskip \advcount2 by -\indlistindent}
	% Note: indented lists may be nested, and should be set in 9pt cmr
	%  (i.e., say \ninepoint before the list and \tenpoint after it)

\def\numlistentry[#1]#2{		% for a numbered list entry
   \baselineskip 11pt
   \hangindent \count2 pt after 0 {\bf #1}\quad #2\par}
	% Note: #1 is the number, surrounded by square brackets, and it must be
	%  at least two characters long; for single digits, use [ 1], [ 2], etc.

\def\unnlistentry#1{			% for an unnumbered list entry
   \baselineskip 11pt
   \hangindent \count2 pt after 0 #1\par}

\def\bullistentry#1{			% for an bulleted list entry
   \baselineskip 11pt
   \hangindent \count2 pt after 0\noindent\hbox to 20pt{}
	\hskip 4pt $\bullet$\quad #1\par}

\def\hddlistentry[#1]#2{		% for a headed list entry--
   \baselineskip 11pt
   \hangindent \count2 pt after 0 {\sl #1}\quad #2\par}
	% Note: #1 is the heading; it will be set in slanted type

% Useful macros.

\def\index#1{}		% for when auto-indexing becomes available
\def\comment#1{}	% for in-text comments

\def\ellipsis{$\ldots$}					% ==> ...
\def\middot{\raise 2.5pt \hbox to 20pt{\hfill .\hfill}}	% dot raised to middle
\def\star{\hbox to 0pt{\hskip 0pt minus 100pt *}}
\def\blackslug{\hbox{\hskip 1pt \vrule width 4pt height 6pt depth 1.5pt
	\hskip 1pt}}			% a black box for ending algorithms, etc.

\def\eg{{\it e.g.}}		% italicized e.g., i.e., q.v.
\def\ie{{\it i.e.}}
\def\qv{{\it q.v.}}

\def\ttl{\:;}			% "cmttl" font for titles; use uppercase only
\def\filename#1{{\:m #1}}		% small caps for filenames
\def\allcaps#1{{\:b #1}}		% nine point for all-capitals words
\def\ac#1{\allcaps{#1}}			% shorhand for the above macro
\def\cit[#1]{\penalty 500 \raise 3pt	% raised text in square brackets for
	\hbox{\eightpoint \rm [#1]}}	% reference citations

\def\topofpage{\null\vskip-12pt}	% allows glue at top of page
\def\newpage{\vfill\eject\topofpage}	% fills old page, starts new one
\def\worldend{\vfill \eject \end}	% finishes page, ends input

\def\tablehead#1{\ctrline{\:<#1}\ninepoint}
\def\tableskip{				% space between text and in-text tables
   14pt plus 4pt minus 2pt}
\def\caption Fig.\ #1.{\ninepoint{\bf Fig.\ #1.}\xskip\!}
\def\textindent#1{\noindent\hbox to 19pt{\hskip 0pt plus 1000pt minus 1000pt#1\ 
}\!}
\def\hang{\hangindent 19pt}

\def\understep#1{$\underline{\hbox{#1}}$}	% for underlining things
\def\inv{$↑{-1}$}			% whatever to the minus one
\def\minv{↑{-1}}			% whatever to the minus 1, in math mode

\def\indentedline[#1]#2{		% indent a line by #1
	\hbox par size{\hbox to #1{}#2}}

% Page format, initialization.

\def\tpage{F} \def\lhead{} \def\rhead{}	% "global variables"
\def\chapnum{} \def\draft{F}

\output{\baselineskip 0pt\lineskip0pt	% beginning of output routine, resets skips
	\vbox to \curtotvsize{		% prepare the full page of this fixed height
	\if T\tpage{			% used when tpage is "T" (title pages)
		\vskip 22pt		% blank space in place of headlines
		\if T\draft{\corners}\else{}
		\page			% insert the page contents
		\vfill}			% fill up the page
	\else{\baselineskip 8pt \null	% empty line to position next baseline
		\hbox to size{
		    \ifeven0{{\:>\count0}	% put in page number, running head;
			\hfill{\:>\lhead}}	% left head for even pages, right
		    \else{{\:>\rhead}\hfill	% for odd pages
			{\:>\count0}} }
		\null\vskip 5.5pt	% position page 24pt from top
		\page\vfill}	% insert the page contents
	}			% completion of the \vbox
	\if T\tpage
		{\gdef\tpage{F}		% reset tpage
		\baselineskip 12pt\null % blank line before page number
		\rjustline{\:>\count0}}	% "drop folio" page number
	\else{}				% completion of if
	\advcount0}		% increase page number by 1 and end output routine

\def\corners{\vbox to 0pt{\baselineskip0pt\lineskip 0pt \vskip -24pt
	\hbox to size{\vrule height .2pt width 11pt \hfill \vrule width 11pt}
	\hbox to size{\vrule height 11pt width .2pt \hfill \vrule width .2pt}
	\vfill}}		% this will indicate true top corners on title page

\setcount0 0		% count0 for page numbers
\setcount2 0		% count2 for list indentation
\setcount3 1		% count3 for footnote numbers
\topofpage
\tenpoint
\rm
% if you want to change \vsize, you have to \eject the first page first